package newsSystem.Inner;
import newsSystem.Inner.Login.AdminLoginPage;
import newsSystem.Inner.Login.UserLoginPage;
import newsSystem.Inner.Register.RegisterPage;
import newsSystem.img.ImagePanel;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MainPage extends JFrame {
    public MainPage() {
        JFrame frame = new JFrame("报刊订阅管理系统");
        frame.setSize(900, 650);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(null);//设置空布局，组件想怎么放怎么放
        frame.setLocationRelativeTo(null); // 居中显示

        // 加载背景图像
        ImageIcon backgroundImageIcon = new ImageIcon("E:\\Java\\NewsSub_Manage_System\\src\\main\\java\\newsSystem\\img\\bgc2.jpg");
        Image backgroundImage = backgroundImageIcon.getImage();

        // 创建一个 ImagePanel，并设置背景图像
        ImagePanel contentPane = new ImagePanel(backgroundImage);

        // 创建一个 JPanel 作为内容面板
//        JPanel contentPane = new JPanel();
//        contentPane.setBackground(Color.CYAN); // 设置背景颜色为天蓝色
        // 设置内容面板的布局管理器
        contentPane.setLayout(null); // 设置布局管理器为null

//        欢迎面板
       JPanel welpanel=new JPanel(new BorderLayout());
       welpanel.setBounds(150,70,600,100);
        // 将面板背景设置为透明
        welpanel.setOpaque(false);
//       welpanel.setBackground(Color.CYAN);
        JLabel welcomeLabel = new JLabel("欢迎来到报刊管理系统");
      // 设置字体大小为 36
        Font font = welcomeLabel.getFont();
        Font newFont = font.deriveFont(Font.BOLD, 45f);
        // 设置文字颜色为白色
        welcomeLabel.setForeground(Color.WHITE);

        welcomeLabel.setFont(newFont);
//        welcomeLabel.setBorder(new LineBorder(Color.YELLOW));
        // 添加文字到中心
        welcomeLabel.setHorizontalAlignment(SwingConstants.CENTER); // 文本水平居中
        welpanel.add(welcomeLabel,BorderLayout.CENTER);
//        buttonPanel.setBackground(Color.CYAN);

        //按钮面板
        JPanel buttonPanel = new JPanel(new FlowLayout()); // 使用 FlowLayout 布局管理器
        buttonPanel.setOpaque(false);//设置为透明
        buttonPanel.setBounds(245,250,400,300);

        JButton userLoginButton = new JButton("用户登录");
        userLoginButton.setPreferredSize(new Dimension(270, 45));
        // 设置字体大小为19
        userLoginButton.setFont(new Font("宋体", Font.PLAIN, 19));

        JButton adminLoginButton = new JButton("管理员登录");
        adminLoginButton.setPreferredSize(new Dimension(270, 45));
        // 设置字体大小为19
        adminLoginButton.setFont(new Font("宋体", Font.PLAIN, 19)); ;

        JButton userRegisterButton = new JButton("用户注册");
        userRegisterButton.setPreferredSize(new Dimension(270, 45));
        // 设置字体大小为19
        userRegisterButton.setFont(new Font("宋体", Font.PLAIN, 19)); ;
        // 取消按钮背景
        userRegisterButton.setContentAreaFilled(false);
        adminLoginButton.setContentAreaFilled(false);
        userLoginButton.setContentAreaFilled(false);
//        buttonPanel.setBorder(new LineBorder(Color.CYAN));
        buttonPanel.add(userLoginButton);

        buttonPanel.add(adminLoginButton);

        buttonPanel.add(userRegisterButton);

        // 设置焦点视觉效果为不可见
        userLoginButton.setFocusPainted(false);
        adminLoginButton.setFocusPainted(false);
        userRegisterButton.setFocusPainted(false);
        // 给按钮添加点击事件
        userLoginButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 在这里编写跳转到用户登录页面的逻辑
                System.out.println("用户登录");
//                JOptionPane.showMessageDialog(null, "跳转到用户登录页面");
                frame.setVisible(false);
                new UserLoginPage();
            }
        });

        adminLoginButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 在这里编写跳转到管理员登录页面的逻辑
                System.out.println("管理员登录");
//                JOptionPane.showMessageDialog(null, "跳转到管理员登录页面");
                frame.setVisible(false);
                new AdminLoginPage();
            }
        });

        userRegisterButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 在这里编写跳转到用户注册页面的逻辑
                System.out.println("用户注册");
//                JOptionPane.showMessageDialog(null, "跳转到用户注册页面");
                frame.setVisible(false);
                new RegisterPage();
            }
        });



        // 将内容面板设置为 JFrame 的内容面板
        contentPane.add(welpanel);
        contentPane.add(buttonPanel);
        frame.setContentPane(contentPane); // 将内容面板设置为窗体的内容面板

        frame.setVisible(true);

    }

    public static void main(String[] args) {
//        箭头函数
        SwingUtilities.invokeLater(() -> {
            new MainPage();
        });
    }
}